package ua.lviv.franko.solvers.stressanalysis.twoDimention.savestructures;

import java.util.List;

import ua.lviv.franko.integration.IFEMFunction2D;
import ua.lviv.franko.solvers.stressanalysis.twoDimention.ElementMatrixForStress;

public interface IElement2DForStress {

	/**
	 * 
	 * @param x
	 * @param y
	 * @param vals
	 * @return
	 */
	public double calculateU(double x, double y, double[] vals);

	public double calculateV(double x, double y, double[] vals);
	
	public double calculateSigma11(double x, double y, double[] vals);

	public double calculateSigma12(double x, double y, double[] vals);
	
	public double calculateSigma22(double x, double y, double[] vals);

	/**
	 * 
	 * @return data generated by generate all;
	 */
	public ElementMatrixForStress getAll();

	/*
	 * public Node getA(); public Node getB(); public Node getC(); public Node
	 * getD();
	 */

	public List<IFEMFunction2D> getBaseFunctions();

	public List<Integer> getPos();
}
